<!DOCTYPE html>
<html>
        <head>
                <title>加载</title>
                <meta charset="UTF-8">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                <script src="js/inc.js"></script>
        </head>
        <body>
                <fieldset>
                        <legend>加载</legend>
                        <ol>
                                <li>
                                        <h2 class="title_h2">加载Business层</h2>
                                        1.Business类文件都放在<code>application/classes/Business</code>文件夹里面
                                        <br>2.Business必须要继承<code>Soter_Business</code>类。
                                        <br>示例如下：
                                        <br>2.1.新建Business文件application/classes/Business/TestBusiness.php
                                        <br>2.2.输入以下代码：
                                        <pre class="brush:php">
                                                &lt;?php

                                                class Business_TestBusiness extends Soter_Business {

                                                }
                                        </pre>
                                        3.可以在任意地方使用下面的代码加载一个business层类：
                                        <br>示例如下：
                                        <pre class="brush:php">
                                                Sr::business('TestBusiness');
                                        </pre>
                                        我们可以看到上面有一个参数，这个是什么意思呢，是加载business类的时候，不需要前缀<code>Business_</code>， 
                                        <br>比如上面的：Business_TestBusiness，加载的时候只用Sr::business('TestBusiness');
                                        <br>例如:我们要创建Business类文件名为ArticleBusiness.php，类名就是Business_ArticleBusiness，那么参数就要输入ArticleBusiness
                                        <br>4.比如有文件：classes/Business/CommonUser.php 
                                        <br>那么CommonUser.php文件里面的类名就应该是：Business_CommonUser。
                                        <br>那么要加载Business类如下:
                                        <pre class="brush:php">
                                                Sr::business('CommonUser');
                                        </pre>
                                        5.比如有文件：classes/Business/Vip/User.php 
                                        <br>那么User.php文件里面的类名就应该是：Business_Vip_User,也就是下划线代表着文件夹的分隔符。
                                        <br>那么要加载Business类如下:
                                        <pre class="brush:php">
                                                Sr::business('Vip_User');
                                                //还有另一种方式例如以下
                                                Sr::business('Vip/User.php');
                                                //我们也可以不用带.php后缀,例如以下：
                                                Sr::business('Vip/User');
                                        </pre>
                                        6.下面我们自定义一个加载Business层类
                                        <br>6.1.新建Business文件application/classes/Business/TestBusiness.php
                                        <br>6.2.输入以下代码：
                                        <pre class="brush:php">
                                                &lt;?php

                                                class Business_TestBusiness extends Soter_Business {

                                                        public function hello(){
                                                                return 'hello business';
                                                        }
                                                }  
                                        </pre>
                                        6.3.新建控制器文件application/classes/Controller/Welcome.php
                                        <br>6.4.输入以下代码：
                                        <pre class="brush:php">
                                                &lt;?php

                                                class Controller_Welcome extends Soter_Controller {

                                                        public function do_business() {
                                                                $business = Sr::business('TestBusiness');
                                                                echo $business->hello();
                                                        }
                                                }  
                                        </pre>                                        
                                        6.5.浏览器访问：http://127.0.0.1/index.php/Welcome/business.do
                                        <br>//将输出：hello business
                                        <br>为什么会输出“<b>hello business</b>”?
                                        <br>我们可以从上面例子看Controller_Welcome控制器类，
                                        <br>在do_business方法里面做了加载Business层中的Business_TestBusiness类赋值给<b>$business</b>。
                                        <br>然后通过<b>$business</b>输出Business_TestBusiness类中的hello方法,
                                        <br>所以浏览器才会显示“<b>hello business</b>”。
                                </li>
                                <li>
                                        <h2 class="title_h2">加载Dao层</h2>
                                        1.Dao类文件都放在<code>application/classes/Dao</code>文件夹里面
                                        <br>2.Dao必须要继承<code>Soter_Dao</code>类。
                                        <br>示例如下：
                                        <br>2.1.新建Dao文件application/classes/Dao/TestDao.php
                                        <br>2.2.输入以下代码：
                                        <pre class="brush:php">
                                                &lt;?php

                                                class Dao_TestDao extends Soter_Dao {

                                                }
                                        </pre>
                                        3.可以在任意地方使用下面的代码加载一个dao层类：
                                        <br>示例如下：
                                        <pre class="brush:php">
                                                Sr::dao('TestDao');
                                        </pre>
                                        我们可以看到上面有一个参数，这个是什么意思呢，是加载dao类的时候，不需要前缀<code>Dao_</code>， 
                                        <br>比如上面的：Dao_TestDao，加载的时候只用Sr::dao('TestDao');
                                        <br>例如:我们要创建Dao类文件名为ListDao.php，类名就是Dao_ListDao，那么参数就要输入ListDao
                                        <br>4.比如有文件：classes/Dao/ArticleUser.php 
                                        <br>那么ArticleUser.php文件里面的类名就应该是：Dao_ArticleUser。
                                        <br>那么要加载Dao类如下:
                                        <pre class="brush:php">
                                                Sr::dao('ArticleUser');
                                        </pre>
                                        5.比如有文件：classes/Dao/User/Message.php 
                                        <br>那么Message.php文件里面的类名就应该是：Dao_User_Message,也就是下划线代表着文件夹的分隔符。
                                        <br>那么要加载Dao类如下:
                                        <pre class="brush:php">
                                                Sr::dao('User_Message');
                                                //还有另一种方式例如以下
                                                Sr::dao('User/Message.php');
                                                //我们也可以不用带.php后缀,例如以下：
                                                Sr::dao('User/Message');
                                        </pre>
                                        6.下面我们自定义一个加载Dao层类
                                        <br>6.1.新建Dao文件application/classes/Dao/TestDao.php
                                        <br>6.2.输入以下代码：
                                        <pre class="brush:php">
                                                &lt;?php

                                                class Dao_TestDao extends Soter_Dao {

                                                        public function hello(){
                                                                return 'hello dao';
                                                        }
                                                }  
                                        </pre>
                                        6.3.新建控制器文件application/classes/Controller/Welcome.php
                                        <br>6.4.输入以下代码：
                                        <pre class="brush:php">
                                                &lt;?php

                                                class Controller_Welcome extends Soter_Controller {

                                                        public function do_dao() {
                                                                $dao = Sr::dao('TestDao');
                                                                echo $dao->hello();
                                                        }
                                                }  
                                        </pre>                                        
                                        6.5.浏览器访问：http://127.0.0.1/index.php/Welcome/dao.do
                                        <br>//将输出：hello dao
                                        <br>为什么会输出“<b>hello dao</b>”?
                                        <br>我们可以从上面例子看Controller_Welcome控制器类，
                                        <br>在do_dao方法里面做了加载Dao层中的Dao_TestDao类赋值给<b>$dao</b>。
                                        <br>然后通过<b>$dao</b>输出Dao_TestDao类中的hello方法,
                                        <br>所以浏览器才会显示“<b>hello dao</b>”。
                                </li>
                                <li>
                                        <h2 class="title_h2">加载Model层</h2>
                                        1.Model类文件都放在<code>application/classes/Model</code>文件夹里面
                                        <br>2.Model必须要继承<code>Soter_Model</code>类。
                                        <br>示例如下：
                                        <br>2.1.新建Model文件application/classes/Model/TestModel.php
                                        <br>2.2.输入以下代码：
                                        <pre class="brush:php">
                                                &lt;?php

                                                class Model_TestModel extends Soter_Model {

                                                }
                                        </pre>
                                        3.可以在任意地方使用下面的代码加载一个model层类：
                                        <br>示例如下：
                                        <pre class="brush:php">
                                                Sr::model('TestModel');
                                        </pre>
                                        我们可以看到上面有一个参数，这个是什么意思呢，是加载model类的时候，不需要前缀<code>Model_</code>， 
                                        <br>比如上面的：Model_TestModel，加载的时候只用Sr::model('TestModel');
                                        <br>例如:我们要创建Model类文件名为ArticleModel.php，类名就是Model_ArticleModel，那么参数就要输入ArticleModel
                                        <br>4.比如有文件：classes/Model/ArticleUser.php 
                                        <br>那么ArticleUser.php文件里面的类名就应该是：Model_ArticleUser。
                                        <br>那么要加载Model类如下:
                                        <pre class="brush:php">
                                                Sr::model('ArticleUser');
                                        </pre>
                                        5.比如有文件：classes/Model/User/Message.php 
                                        <br>那么Message.php文件里面的类名就应该是：Model_User_Message,也就是下划线代表着文件夹的分隔符。
                                        <br>那么要加载Model类如下:
                                        <pre class="brush:php">
                                                Sr::model('User_Message');
                                                //还有另一种方式例如以下
                                                Sr::model('User/Message.php');
                                                //我们也可以不用带.php后缀,例如以下：
                                                Sr::model('User/Message');
                                        </pre>
                                        6.下面我们自定义一个加载Model层类
                                        <br>6.1.新建Model文件application/classes/Model/TestModel.php
                                        <br>6.2.输入以下代码：
                                        <pre class="brush:php">
                                                &lt;?php

                                                class Model_TestModel extends Soter_Model {

                                                        public function hello(){
                                                                return 'hello model';
                                                        }
                                                }  
                                        </pre>
                                        6.3.新建控制器文件application/classes/Controller/Welcome.php
                                        <br>6.4.输入以下代码：
                                        <pre class="brush:php">
                                                &lt;?php

                                                class Controller_Welcome extends Soter_Controller {

                                                        public function do_model() {
                                                                $model = Sr::model('TestModel');
                                                                echo $model->hello();
                                                        }
                                                }  
                                        </pre>                                        
                                        6.5.浏览器访问：http://127.0.0.1/index.php/Welcome/model.do
                                        <br>//将输出：hello model
                                        <br>为什么会输出“<b>hello model</b>”?
                                        <br>我们可以从上面例子看Controller_Welcome控制器类，
                                        <br>在do_model方法里面做了加载Model层中的Model_TestModel类赋值给<b>$model</b>。
                                        <br>然后通过<b>$model</b>输出Model_TestModel类中的hello方法,
                                        <br>所以浏览器才会显示“<b>hello model</b>”。
                                </li>
                                <li>
                                        <h2 class="title_h2">加载函数文件</h2>
                                        1.函数文件都放在<code>application/functions</code>文件夹里面
                                        <br>2.可以在任意地方使用下面的代码加载一个函数文件：
                                        <br>示例如下：
                                        <pre class="brush:php">
                                                Sr::functions('TestFunctions');
                                        </pre>
                                        我们可以看到上面有一个参数，这个是什么意思呢，是我们创建函数文件的文件名(不带<b class="text_strong">.php</b>后缀)
                                        <br>例如:我们要创建函数文件名为UserFunctions.php，那么参数就要输入UserFunctions
                                        <br>3.如果函数文件在子文件夹下，引用的时候要带上相对路径符号。
                                        <br>例如：如果你有一个函数文件<code>application/functions/vip/user.php</code>。
                                        <br>下面的代码可以引用它:
                                        <pre class="brush:php">
                                                Sr::functions('vip/user');
                                        </pre>
                                        4.下面我们自定义一个加载函数文件
                                        <br>4.1.新建Functions文件application/functions/TestFunctions.php
                                        <br>4.2.输入以下代码：
                                        <pre class="brush:php">
                                                &lt;?php

                                                function myFunction(){
                                                        return 'myFunction';
                                                } 
                                        </pre>
                                        4.4.新建控制器文件application/classes/Controller/Welcome.php
                                        <br>4.4.输入以下代码：
                                        <pre class="brush:php">
                                                &lt;?php

                                                class Controller_Welcome extends Soter_Controller {

                                                        public function do_functions() {
                                                                Sr::functions('TestFunctions');
                                                                echo myFunction();
                                                        }
                                                }  
                                        </pre>                                        
                                        3.5.浏览器访问：http://127.0.0.1/index.php/Welcome/functions.do
                                        <br>//将输出：myFunction
                                        <br>为什么会输出“<b>myFunction</b>”?
                                        <br>我们可以从上面例子看Controller_Welcome控制器类，
                                        <br>在do_functions方法里面做了加载TestFunctions函数文件。
                                        <br>然后输出TestFunctions函数文件中的myFunction函数,
                                        <br>所以浏览器才会显示“<b>myFunction</b>”。
                                </li>
                        </ol>
                </fieldset>
                <script src="js/inc.foot.js"></script>
        </body>
</html>
